package com.example.ploy4j.dto.mapper;

import com.example.ploy4j.dto.GitRepositoryConfigDto;
import com.example.ploy4j.entity.GitRepositoryConfig;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(componentModel = "spring", nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
public interface GitRepositoryConfigMapper {

    GitRepositoryConfigMapper INSTANCE = Mappers.getMapper(GitRepositoryConfigMapper.class);

    GitRepositoryConfigDto toDto(GitRepositoryConfig entity);

    List<GitRepositoryConfigDto> toDtoList(List<GitRepositoryConfig> entities);

    GitRepositoryConfig toEntity(GitRepositoryConfigDto dto);

    void updateEntityFromDto(GitRepositoryConfigDto dto, @MappingTarget GitRepositoryConfig entity);

} 